Structured light active sensing systems transmit and receive spatial codes to generate a depth map. The farther away an object is from the transmitter and receiver, the closer the received projection is from its original position at the receiver(s), as the outgoing projection and incoming projection are more parallel. Conversely, the closer an object is to the transmitter and receiver, the farther the received projection is from its original position at the receiver(s). Thus, the difference between received and transmitted codeword position gives the depth of the scene or object. Structured light active sensing systems use these relative depths to generate a depth map or a three dimensional representation of a scene. Depth map extraction is critical to many applications ranging from camera quality enhancement to computer vision.
Each code within an expected disparity range, ranging from the received location for the minimum distance of an object to a maximum distance of an object in a field of view, needs to be unique so that the reflected codes can be distinguished from each other. As long as the code is not repeated within the disparity range, a code may be repeated without causing ambiguity because the original code positions may be uniquely identified. Codes may be comprised of symbols, such as binary symbols. As the number of codes increase, the number of symbols for each code increases, the bandwidth per symbol increases, the space required to display each symbol increases, and the resolution of the depth mask decreases. Therefore, there is a need to reduce the number of unique codes required by making it possible to repeat codes more frequently within each frame.